CYPRESS-Soar: A Case Study in Search and Learning in Algorithm Design
نویسنده
چکیده
This paper describes a partial reimplementation of Doug Smith's CYPRESS algorithm design system within the Soar problem-solving architecture. The system, CYPRESS-SOAR, reproduces most of CYPRESS' behavior in the synthesis of three divide-and-conquer sorting algorithms from formal specifications. CYPRESS-Soar is based on heuristic search of problem spaces, and uses search to compensate for missing knowledge in some instances. CYPRESS-Soar also learns as it designs algorithms, exhibiting significant transfer of learned knowledge, both within a single design run, and across designs of several different algorithms. These results were produced by reimplementing just the high-level synthesis control of CYPRESS, simulating the results of calls to CYPRESS* deduction engine. Thus after only two months of effort, we had a surprisingly effective research vehicle for investigating the roles of search, knowledge, and learn ing in this domain.* I I n t r o d u c t i o n Good human programmers have at least two remarkable abilities: they manage to produce programs in the face of incomplete knowledge, and they make use of previous experience in solving new problems. How could we get automatic programming systems to produce the same intelligent be havior? Al-based performance systems in other domains compensate for incomplete knowledge by searching through a space of possible solutions, and there exist a variety of mechanisms for learning from experience. However, automatic programming research has so far produced only a few systems that either search or learn, and, to my knowledge, none that do both. This is true despite the field's growing acknowledgement of the importance of both search and learning [2,3,4]. This paper describes a prototype system that both searches and learns while performing part of an automatic programming task. An algorithm design system, previously built within a special-purpose framework, was reimplemented in a more general problem-solving architecture with built-in search and learning capabilities. The previously implemented system is Doug Smith's CYPRESS [11,12,13], which is most noted for its design of divide-and-conquer algorithms. The foundation for the reimplementation is Soar [7,8], an architecture for general intelligence developed by John Laird, Allen Newell, and Paul Rosen bloom. The combined system, CYPRESSSoar, produces the bulk of three of CYPRESS' sorting algorithm deriva tions, and takes advantage of the properties of Soar to search and learn while doing so. In Section I I , I describe CYPRESS and its approach to the synthesis of divide-and-conquer sorting algorithms and in Section III I give an overview of the Soar architecture. The remaining sections discuss CYPRESS-Soar, presenting the following results: • Performance without fixed design strategies: CYPRESSSoar uses any knowledge available at run-time to decide when algorithm refinement operators should be applied. If the knowledge is unavailable, CYPRESS-Soar automatically falls back on general problem-solving methods, initiating lookahead search to evaluate the possibilities. In contrast, design strategies control operator application in CYPRESS, and any necessary search must be guided by an expert user. (Section
منابع مشابه
Hybrid Teaching-Learning-Based Optimization and Harmony Search for Optimum Design of Space Trusses
The Teaching-Learning-Based Optimization (TLBO) algorithm is a new meta-heuristic algorithm which recently received more attention in various fields of science. The TLBO algorithm divided into two phases: Teacher phase and student phase; In the first phase a teacher tries to teach the student to improve the class level, then in the second phase, students increase their level by interacting amon...
متن کاملA Hybrid Unconscious Search Algorithm for Mixed-model Assembly Line Balancing Problem with SDST, Parallel Workstation and Learning Effect
Due to the variety of products, simultaneous production of different models has an important role in production systems. Moreover, considering the realistic constraints in designing production lines attracted a lot of attentions in recent researches. Since the assembly line balancing problem is NP-hard, efficient methods are needed to solve this kind of problems. In this study, a new hybrid met...
متن کاملA COMPARATIVE STUDY FOR THE OPTIMAL DESIGN OF STEEL STRUCTURES USING CSS AND ACSS ALGORITHMS
In this article, an Advanced Charged System Search (ACSS) algorithm is applied for the optimum design of steel structures. ACSS uses the idea of Opposition-based Learning and Levy flight to enhance the optimization abilities of the standard CSS. It also utilizes the information of the position of each charged particle in the subsequent search process to increase the convergence speed. The objec...
متن کاملOPTIMAL SIZE AND GEOMETRY DESIGN OF TRUSS STRUCTURES UTILIZING SEVEN META-HEURISTIC ALGORITHMS: A COMPARATIVE STUDY
Meta-heuristic algorithms are applied in optimization problems in a variety of fields, including engineering, economics, and computer science. In this paper, seven population-based meta-heuristic algorithms are employed for size and geometry optimization of truss structures. These algorithms consist of the Artificial Bee Colony algorithm, Cyclical Parthenogenesis Algorithm, Cuckoo Search algori...
متن کاملA Discrete Hybrid Teaching-Learning-Based Optimization algorithm for optimization of space trusses
In this study, to enhance the optimization process, especially in the structural engineering field two well-known algorithms are merged together in order to achieve an improved hybrid algorithm. These two algorithms are Teaching-Learning Based Optimization (TLBO) and Harmony Search (HS) which have been used by most researchers in varied fields of science. The hybridized algorithm is called A Di...
متن کامل